home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Extra 1996 #2 / Amiga Plus CD - 1996 - No. 2 Extra.iso / clarissa1_1-demo / macros / kapillarfade.clssa < prev    next >
Text File  |  1995-01-26  |  4KB  |  117 lines

  1. /***********************************************************************
  2.   GADGET: "'Kapillar Fade'" "6" AUTO TYP: "?"
  3.  
  4.   $DAT >>KapillarFade.clssa<< 30.09.1992 - (C) ProDAD Holger Burkarth
  5.                               20.01.1995 - (C) ProDAD Michael Christoph
  6.  
  7.  Der Fade-Macro erzeugt einen Blendeffekt in eine definierbare Farbe.
  8.  Oft wird ein Fade nur in Verbindung mit der Farbe Schwarz benötigz.
  9.  Hierzu stellt der Macro eine Abkürzung zur Verfügung.
  10.  Möchte man aber eine Bezugsfarbe verwendet, so muß der User die Farbnummer
  11.  eingeben. Eine gezielte Auswahl der Farbnummer kann im Farbrequester
  12.  vorgenommen werden.
  13.  Der Unterschied zum normalen Fade besteht darin, daß nur eine Farbe
  14.  verändert wird. Bei der Eingabe der Kapillarfarbe gelten die gleichen
  15.  Regeln wie bei der Bezugsfarbe.
  16. ************************************************************************/
  17.  
  18. Options Results
  19. Address clariSSA
  20.  
  21.   FailAt 10
  22.   AltFail=RESULT
  23.  
  24.   GetArea
  25.   PARSE VAR RESULT . "FROM" von "TO" bis .
  26.   von=Strip(von)
  27.  
  28.   Anzahl=bis-von
  29.   IF Anzahl>1 THEN DO
  30.  
  31.     DO FOREVER
  32.       GetAnimInfo
  33.       PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
  34.       AnzFarben=2**t - 1
  35.  
  36.       MSRequester "TITLE '*** Kapillar - Fade ***'",
  37.                         "''",
  38.                         "'Wählen Sie bitte die Faderichtung aus.'",
  39.                         "'IN bedeutet, daß sich die Farbe mit'",
  40.                         "'laufender Anim normalisieren.'",
  41.                   "PTEXT 'Fade IN'",
  42.                         "'Fade OUT'"
  43.       IF RC~=0 THEN LEAVE
  44.       FadeIN=RESULT
  45.  
  46.       COLRequest "Register 0 TITLE '*** Kapillar - Fade ***''''Kapillarfarbe festlegen.'"
  47.       IF RC~=0 THEN LEAVE
  48.       KapFarbe=RESULT
  49.  
  50.  
  51.       MSRequester "TITLE '*** Kapillar - Fade ***'",
  52.                         "''",
  53.                         "'Bezugsfarbe zur Fadebearbeitung wählen?'",
  54.                   "PTEXT 'Bezugsfarbe wählen'",
  55.                         "'Bezugsfarbe schwarz'"
  56.       IF RC~=0 THEN LEAVE
  57.  
  58.       IF RESULT=2 THEN DO
  59.         BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
  60.         IF RC~=0 | RESULT="NO" THEN LEAVE
  61.  
  62.         RequestStatus OFF
  63.         DO UNTIL von>bis
  64.           IF FadeIN=2 THEN fa=(bis-von)/Anzahl
  65.           ELSE             fa=(1-(bis-von)/Anzahl)
  66.  
  67.           ViewFrame COPS von
  68.           IF RC~=0 THEN LEAVE
  69.           GetColor KapFarbe
  70.           PARSE VAR RESULT x r g b
  71.           SetColor x r*fa g*fa b*fa
  72.  
  73.           Record COPS
  74.           IF RC~=0 THEN LEAVE
  75.           von=von+1
  76.         END
  77.       END
  78.  
  79.       ELSE DO
  80.         COLRequest "Register 0 TITLE '*** Kapillar - Fade ***''''Bezugsfarbe festlegen.'"
  81.         IF RC~=0 THEN LEAVE
  82.  
  83.         GetColor BezFarbe
  84.         PARSE VAR RESULT x BezR BezG BezB
  85.  
  86.         BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
  87.         IF RC~=0 | RESULT="NO" THEN LEAVE
  88.  
  89.         RequestStatus OFF
  90.         DO UNTIL von>bis
  91.           IF FadeIN=2 THEN fa=(1-(bis-von)/Anzahl)
  92.           ELSE             fa=(bis-von)/Anzahl
  93.  
  94.           ViewFrame COPS von
  95.           IF RC~=0 THEN LEAVE
  96.           GetColor KapFarbe
  97.           PARSE VAR RESULT x r g b
  98.           r=r+(BezR-r)*fa
  99.           g=g+(BezG-g)*fa
  100.           b=b+(BezB-b)*fa
  101.           SetColor x r g b
  102.  
  103.           Record COPS
  104.           IF RC~=0 THEN LEAVE
  105.            von=von+1
  106.         END
  107.       END
  108.       RequestStatus ON
  109.  
  110.       LEAVE
  111.     END
  112.   END
  113.   ELSE Message "'Für einen Fade-Effekt müssen''min. 2 Frames ausgewählt werden.'"
  114.  
  115.   FailAt AltFail
  116. exit
  117.